前提条件：1.各节点已经配置了时间同步。2.确保/etc/resolv.conf文件能生效.
1、下载工具脚本ezdown，举例使用kubeasz版本3.6.6对应k8s1.32.x
export release=3.6.6
wget https://github.com/easzlab/kubeasz/releases/download/${release}/ezdown
chmod +x ./ezdown
2、下载kubeasz代码、二进制、默认容器镜像，安装docker，运行registry，所有相关文件都会保存在/etc/kubeasz
# 国内环境
./ezdown -D
# 海外环境
#./ezdown -D -m standard
3、【可选】下载额外容器镜像（cilium,flannel,prometheus等）
# 按需下载
./ezdown -X flannel
./ezdown -X local-path-provisioner
./ezdown -X prometheus
4、【可选】下载离线系统包 (适用于无法使用yum/apt仓库情形)
./ezdown -P rocky_9
5、打包目录，制作离线安装包，上传到部署机器
cd /etc && tar -czvf kubeasz_3.6.6_1.32-x86_64.tgz ./kubeasz
scp kubeasz_3.6.6_1.32-x86_64.tgz root@192.168.95.x:~


以下为部署机上操作
1、配置ssh免密登录
ssh-keygen -t rsa
（连续三次回车）
for i in $(seq 101 109);do sshpass -p yqt123 ssh-copy-id -o StrictHostKeyChecking=no 192.168.95.$i; done 
2、配置chrony时间同步（建议用ntp，可以定时同步）
3、解压，离线安装docker，运行registry，检查本地文件，正常会提示所有文件已经下载完成，并上传到本地私有镜像仓库
# 目录层级必须为/etc/kubeasz
tar -zxvf kubeasz_3.6.6_1.32-x86_64.tgz -C /etc/
cd /etc/kubeasz/
./ezdown -D
./ezdown -X flannel
./ezdown -X local-path-provisioner
./ezdown -X prometheus
# 用到哪些组件，这里就需要执行哪些组件
4、创建集群配置实例
# 容器化运行kubeasz
./ezdown -S
# 设置参数允许离线安装系统软件包
sed -i 's/^INSTALL_SOURCE.*$/INSTALL_SOURCE: "offline"/g' /etc/kubeasz/example/config.yml
# 可以定义集群名，比如创建新集群 k8s-01
docker exec -it kubeasz ezctl new k8s-01
5、然后根据提示修改配置,比如
/etc/kubeasz/clusters/k8s-01/hosts
......
[etcd]
192.168.95.107
192.168.95.108
192.168.95.109
......
[kube_master]
192.168.95.101 k8s_nodename='k8s-node1'
192.168.95.102 k8s_nodename='k8s-node2'
192.168.95.103 k8s_nodename='k8s-node3'
......
[kube_node]
192.168.95.104 k8s_nodename='k8s-node1'
192.168.95.105 k8s_nodename='k8s-node2'
192.168.95.106 k8s_nodename='k8s-node3'
......

/etc/kubeasz/clusters/k8s-01/config
# 可选离线安装系统软件包 (offline|online)
INSTALL_SOURCE: "offline"
6、开始一键安装
docker exec -it kubeasz ezctl setup k8s-01 all
或者分步安装
docker exec -it kubeasz ezctl setup k8s-01 01
docker exec -it kubeasz ezctl setup k8s-01 02
docker exec -it kubeasz ezctl setup k8s-01 03
docker exec -it kubeasz ezctl setup k8s-01 04
docker exec -it kubeasz ezctl setup k8s-01 05
docker exec -it kubeasz ezctl setup k8s-01 06
7、安装插件
# 07-安装集群插件
docker exec -it kubeasz ezctl setup k8s-01 07
8、安装高可用apiserver
docker exec -it kubeasz ezctl setup k8s-01 10
9、验证集群
将部署主机的默认文件/root/.kube/config复制到master节点对应位置
scp /root/.kube/config master1:/root/.kube/config
source ~/.bashrc
kubectl get node
10、后续删除或增加集群
# 注意：删除后需要重启所有节点
docker exec -it kubeasz ezctl destroy k8s-01
增删master节点
# 增加master节点
docker exec -it kubeasz ezctl add-master k8s-01 192.168.95.13 k8s_nodename=k8s-master1
docker exec -it kubeasz ezctl add-etcd k8s-01 192.168.95.13

# 删除master节点
docker exec -it kubeasz ezctl del-etcd k8s-01 192.168.95.13
docker exec -it kubeasz ezctl del-master k8s-01 192.168.95.13
增删node节点
# 增加node节点
docker exec -it kubeasz ezctl add-node k8s-01 192.168.95.14 k8s_nodename=k8s-node4

# 删除node节点
docker exec -it kubeasz ezctl del-node k8s-01 192.168.95.14
